package com.auto.survey.util.monitoring.intersection

// 算法配置选项
data class AlgorithmOptions(
    val positionThreshold: Double = RearIntersectionAlgorithm.DEFAULT_POSITION_THRESHOLD, // 距离阈值(米)
    val angleThresholdSeconds: Double = RearIntersectionAlgorithm.DEFAULT_ANGLE_THRESHOLD_SECONDS, // 角度阈值(秒)
    val zenithAngleThresholdSeconds: Double = RearIntersectionAlgorithm.DEFAULT_ZENITH_ANGLE_THRESHOLD_SECONDS, // 天顶距阈值(秒)
    val maxIterations: Int = RearIntersectionAlgorithm.DEFAULT_MAX_ITERATIONS, // 最大迭代次数
    val dampingFactor: Double = RearIntersectionAlgorithm.DEFAULT_DAMPING_FACTOR, // 阻尼因子
    val convergenceEps: Double = RearIntersectionAlgorithm.DEFAULT_CONVERGENCE_EPS, // 收敛精度
    val instrumentHeight: Double = RearIntersectionAlgorithm.DEFAULT_INSTRUMENT_HEIGHT, // 仪器高(米)
    val convergenceThreshold: Double =  RearIntersectionAlgorithm.DEFAULT_CONVERGENCE_EPS,
    val verticalAngleType: VerticalAngleType = VerticalAngleType.ZENITH_ANGLE, // 默认使用天顶距
    val autoDetectAngleType: Boolean = true, // 是否自动检测垂直角类型
    // 新增：加权最小二乘法控制参数
    val useWeightedLeastSquares: Boolean = false
)
